ALTER PROCEDURE dbo.get_pracownicy
	@pensja AS MONEY,
	@id_dzialu AS INT = 1,
	@ilosc_wierszy AS INT OUTPUT   -- parametr wyjciowy
AS
BEGIN
	SET NOCOUNT ON;

	SELECT * FROM dbo.Pracownicy
	WHERE pensja >= @pensja
	AND id_dzialu = @id_dzialu;

	-- ustawienie liczby pobranych wierszy
	SELECT @ilosc_wierszy = @@rowcount;
	-- zwrcenie liczby pobranych wierszy 
	RETURN @ilosc_wierszy;

	SET NOCOUNT OFF;
END
GO


declare 
	@ilosc AS INT;
-- uycie sowa kluczowego OUTPUT przy parametrze wyjciowym
EXEC dbo.get_pracownicy @pensja = 3000, @id_dzialu = 2, @ilosc_wierszy = @ilosc OUTPUT;
-- wywietlenie wyniku
SELECT @ilosc AS [Ilo wierszy];
GO


declare 
	@ilosc AS INT;
-- przypisanie wyniku zwracanego przez procedur do zmiennej
EXEC @ilosc = dbo.get_pracownicy @pensja = 3000, @id_dzialu = 2, 
@ilosc_wierszy = @ilosc;
-- wywietlenie wyniku
SELECT @ilosc AS [Ilo wierszy];
GO
